import java.util.Random;
import java.util.Scanner;

public class Test {
    //打印 1 - 100 之间所有的素数
    public static void main1(String[] args) {
        int num = 0;
        int i = 0;
        for(num = 1; num <= 100; num++){
            for(i = 2; i <= Math.sqrt(num);i++){
                if(num % i == 0){
                    break;
                }
            }
            if(i > Math.sqrt(num)){
                System.out.println(num);
            }
        }
    }

    //输出 1000 - 2000 之间所有的闰年
    public static void main2(String[] args) {
        for(int year = 1000; year <= 2000; year++){
            if(year % 4 == 0 && year % 100 != 0 || year % 400 == 0){
                System.out.println(year);
            }
        }
    }

    //编写程序数一下 1到 100 的所有整数中出现多少个数字9
    public static void main3(String[] args) {
        int sum = 0;
        for(int num = 1; num <= 100; num++){
            if(num % 10 == 9){
                sum++; //个位
            }
            if(num / 10 == 9){
                sum++; //十位
            }
        }
        System.out.println(sum);
    }

    //给定两个数，求这两个数的最大公约数
    //例如：
    //输入：20 40
    //输出：20
    public static void main4_1(String[] args) {
        int num1 = 24;
        int num2 = 18;
        int temp;
        while(num2 != 0){
            temp = num1 % num2;
            num1 = num2;
            num2 = temp;
        }
        System.out.println("最大公约数:"+num1);
    }
    //法二
    public static void main4_2(String[] args) {
        int a = 24;
        int b = 18;
        int c = a % b;
        while(c != 0){
            a = b;
            b = c;
            c = a % b;
        }
        System.out.println(b);
    }

    //计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值
    public static void main5(String[] args) {
        int up = 1;
        int down = 1;
        double ret = 0;
        double sum = 0;
        while(down <= 100){
            ret = (up*1.0) / down;
            sum += ret;
            up = (-up);
            down++;
        }
        System.out.println(sum);
    }

    //求出0～999之间的所有“水仙花数”并输出。
    // (“水仙花数”是指一个三位数，其各位数字的立方和确好等于该数本 身，如；153＝1^3＋5^3＋3^3，则153是一个“水仙花数“。）
    public static void main(String[] args) {
        for (int num = 0; num < 99999; num++) {
            int count = 0; //重置
            int sum = 0;
            int tmp = num;
            //1.计算num是几位数
            while(tmp != 0){
                count++;
                tmp /= 10;
            }
            //2.求和
            tmp = num;
            while(tmp != 0){
                sum += Math.pow(tmp % 10,count);
                tmp /= 10;
            }
            //3.判断
            if(sum == num){
                System.out.println(num);
            }
        }
    }

    //完成猜数字游戏，用户输入数字，判断该数字是大于，小于，还是等于随机生成的数字，等于的时候退出程序。
    public static void main7(String[] args) {
        int count = 3;
        Random random = new Random();
        int randNum = random.nextInt(100);//[0,100)

        Scanner in = new Scanner(System.in);
        while(count != 0){
            System.out.println("请输入你猜的数字：");
            int num = in.nextInt();
            if(num > randNum){
                System.out.println("猜大了...");
            }else if(num == randNum){
                System.out.println("猜对了！");
            }else {
                System.out.println("猜小了...");
            }
            count--;
            System.out.println("你还剩 "+count+ " 次机会");
        }
    }
}